home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / Gestalt.a < prev    next >
Text File  |  1996-05-01  |  38KB  |  935 lines

  1. ;
  2. ;    File:        Gestalt.a
  3. ;
  4. ;    Contains:    Gestalt Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__GESTALT__') = 'UNDEFINED' THEN
  19. __GESTALT__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
  25.     include 'MixedMode.a'
  26.     ENDIF
  27.     IF FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE THEN
  28.     ENDIF
  29.     IF FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE THEN
  30. ;
  31. ; pascal OSErr Gestalt(OSType selector, long *response)
  32. ;
  33.     IF ¨ GENERATINGCFM THEN
  34.         _Gestalt:    OPWORD    $A1AD
  35.     ELSE
  36.         IMPORT_CFM_FUNCTION Gestalt
  37.     ENDIF
  38.  
  39.     ENDIF
  40.     IF FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED THEN
  41. ;
  42. ; pascal OSErr ReplaceGestalt(OSType selector, SelectorFunctionUPP gestaltFunction, SelectorFunctionUPP *oldGestaltFunction)
  43. ;
  44.     IF ¨ GENERATINGCFM THEN
  45.         _ReplaceGestalt:    OPWORD    $A5AD
  46.     ELSE
  47.         IMPORT_CFM_FUNCTION ReplaceGestalt
  48.     ENDIF
  49.  
  50.     ENDIF
  51.     IF FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED THEN
  52. ;
  53. ; pascal OSErr NewGestalt(OSType selector, SelectorFunctionUPP gestaltFunction)
  54. ;
  55.     IF ¨ GENERATINGCFM THEN
  56.         ; parameters:
  57.         ;    selector        => D0
  58.         ;    gestaltFunction => A0
  59.         ; returns:
  60.         ;    OSErr           <= D0
  61.         _NewGestalt:    OPWORD    $A3AD
  62.     ELSE
  63.         IMPORT_CFM_FUNCTION NewGestalt
  64.     ENDIF
  65.  
  66.     ENDIF
  67.     IF FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE THEN
  68. ;     These functions are built into System 7.5, but not on earlier systems
  69. ;
  70. ; pascal OSErr NewGestaltValue(OSType selector, long newValue)
  71. ;
  72.     IF ¨ GENERATINGCFM THEN
  73.         Macro
  74.         _NewGestaltValue
  75.             move.w              #$0401,D0
  76.             dc.w                $ABF1
  77.         EndM
  78.     ELSE
  79.         IMPORT_CFM_FUNCTION NewGestaltValue
  80.     ENDIF
  81.  
  82. ;
  83. ; pascal OSErr ReplaceGestaltValue(OSType selector, long replacementValue)
  84. ;
  85.     IF ¨ GENERATINGCFM THEN
  86.         Macro
  87.         _ReplaceGestaltValue
  88.             move.w              #$0402,D0
  89.             dc.w                $ABF1
  90.         EndM
  91.     ELSE
  92.         IMPORT_CFM_FUNCTION ReplaceGestaltValue
  93.     ENDIF
  94.  
  95. ;
  96. ; pascal OSErr SetGestaltValue(OSType selector, long newValue)
  97. ;
  98.     IF ¨ GENERATINGCFM THEN
  99.         Macro
  100.         _SetGestaltValue
  101.             move.w              #$0404,D0
  102.             dc.w                $ABF1
  103.         EndM
  104.     ELSE
  105.         IMPORT_CFM_FUNCTION SetGestaltValue
  106.     ENDIF
  107.  
  108.     ENDIF
  109.     IF FOR_SYSTEM8_COOPERATIVE THEN
  110.  
  111.  
  112.     ENDIF
  113.     IF FOR_SYSTEM8_COOPERATIVE THEN
  114. ;
  115. ; extern OSStatus CreateGestaltIterator(GestaltIteratorRef *theIterator)
  116. ;
  117.     IF GENERATINGCFM THEN
  118.         IMPORT_CFM_FUNCTION CreateGestaltIterator
  119.     ENDIF
  120.  
  121. ;
  122. ; extern OSStatus DisposeGestaltIterator(GestaltIteratorRef theIterator)
  123. ;
  124.     IF GENERATINGCFM THEN
  125.         IMPORT_CFM_FUNCTION DisposeGestaltIterator
  126.     ENDIF
  127.  
  128. ;
  129. ; extern OSStatus GetNextGestaltSelectors(GestaltIteratorRef theIterator, UInt32 numberToGet, OSType *gestaltSelectors, UInt32 *numberGotten)
  130. ;
  131.     IF GENERATINGCFM THEN
  132.         IMPORT_CFM_FUNCTION GetNextGestaltSelectors
  133.     ENDIF
  134.  
  135. ;
  136. ; extern OSErr DeleteGestalt(OSType selector)
  137. ;
  138.     IF GENERATINGCFM THEN
  139.         IMPORT_CFM_FUNCTION DeleteGestalt
  140.     ENDIF
  141.  
  142.     ENDIF
  143.     IF FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED THEN
  144. ;
  145. ; pascal OSErr DeleteGestaltValue(OSType selector)
  146. ;
  147.     IF ¨ GENERATINGCFM THEN
  148.         Macro
  149.         _DeleteGestaltValue
  150.             move.w              #$0203,D0
  151.             dc.w                $ABF1
  152.         EndM
  153.     ELSE
  154.         IMPORT_CFM_FUNCTION DeleteGestaltValue
  155.     ENDIF
  156.  
  157.     ENDIF
  158.     IF ¨ OLDROUTINELOCATIONS THEN
  159. ;     Environs Equates
  160.  
  161. curSysEnvVers                    EQU        2                    ;    Updated to equal latest SysEnvirons version
  162. SysEnvRec                RECORD 0
  163. environsVersion             ds.w    1                ; offset: $0 (0)
  164. machineType                 ds.w    1                ; offset: $2 (2)
  165. systemVersion             ds.w    1                ; offset: $4 (4)
  166. processor                 ds.w    1                ; offset: $6 (6)
  167. hasFPU                     ds.b    1                ; offset: $8 (8)
  168. hasColorQD                 ds.b    1                ; offset: $9 (9)
  169. keyBoardType             ds.w    1                ; offset: $A (10)
  170. atDrvrVersNum             ds.w    1                ; offset: $C (12)
  171. sysVRefNum                 ds.w    1                ; offset: $E (14)
  172. sizeof                     EQU *                    ; size:   $10 (16)
  173.                         ENDR
  174.     IF FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED THEN
  175. ;
  176. ; pascal OSErr SysEnvirons(short versionRequested, SysEnvRec *theWorld)
  177. ;
  178.     IF ¨ GENERATINGCFM THEN
  179.         ; parameters:
  180.         ;    versionRequetheWorld=> D0
  181.         ;    theWorld        => A0
  182.         ; returns:
  183.         ;    OSErr           <= D0
  184.         _SysEnvirons:    OPWORD    $A090
  185.     ELSE
  186.         IMPORT_CFM_FUNCTION SysEnvirons
  187.     ENDIF
  188.  
  189.     ENDIF
  190.     ENDIF
  191. ;  Environment Selectors 
  192.  
  193. gestaltAddressingModeAttr        EQU        'addr'                ; addressing mode attributes 
  194. gestalt32BitAddressing            EQU        0                    ; using 32-bit addressing mode 
  195. gestalt32BitSysZone                EQU        1                    ; 32-bit compatible system zone 
  196. gestalt32BitCapable                EQU        2                    ; Machine is 32-bit capable 
  197.  
  198. gestaltAliasMgrAttr                EQU        'alis'                ; Alias Mgr Attributes 
  199. gestaltAliasMgrPresent            EQU        0                    ; True if the Alias Mgr is present 
  200. gestaltAliasMgrSupportsRemoteAppletalk EQU 1                ; True if the Alias Mgr knows about Remote Appletalk 
  201. gestaltAliasMgrSupportsAOCEKeychain EQU    2                    ; True if the Alias Mgr knows about the AOCE Keychain 
  202.  
  203. gestaltATAAttr                    EQU        'ata '                ; ATA is the driver to support IDE hard disks 
  204. gestaltATAPresent                EQU        0                    ; if set, ATA Manager is present 
  205.  
  206. gestaltAppleTalkVersion            EQU        'atlk'                ; appletalk version 
  207. ;
  208. ;    FORMAT OF gestaltATalkVersion RESPONSE
  209. ;    --------------------------------------
  210. ;    The version is stored in the high three bytes of the response value.  Let us number
  211. ;    the bytes in the response value from 0 to 3, where 0 is the least-significant byte.
  212. ;    
  213. ;        Byte#:       3 2 1 0
  214. ;        Value:    0xMMNNRR00
  215. ;        
  216. ;    Byte 3 (MM) contains the major revision number, byte 2 (NN) contains the minor
  217. ;    revision number, and byte 1 (RR) contains a constant that represents the release
  218. ;    stage.  Byte 0 always contains 0x00.  The constants for the release stages are:
  219. ;    
  220. ;        development = 0x20
  221. ;        alpha        = 0x40
  222. ;        beta        = 0x60
  223. ;        final        = 0x80
  224. ;        release        = 0x80
  225. ;    
  226. ;    For example, if you call Gestalt with the 'atkv' selector when AppleTalk version 57
  227. ;    is loaded, you receive the long integer response value 0x39008000.
  228. ;
  229.  
  230. gestaltATalkVersion                EQU        'atkv'                ; Detailed AppleTalk version; see comment above for format 
  231.  
  232. gestaltAUXVersion                EQU        'a/ux'                ; a/ux version, if present 
  233.  
  234. gestaltBusClkSpeed                EQU        'bclk'                ; main I/O bus clock speed in hertz 
  235.  
  236. gestaltCloseViewAttr            EQU        'BSDa'                ; CloseView attributes 
  237. gestaltCloseViewEnabled            EQU        0                    ; Closeview enabled (dynamic bit - returns current state) 
  238. gestaltCloseViewDisplayMgrFriendly EQU    1                    ; Closeview compatible with Display Manager (FUTURE) 
  239.  
  240. gestaltCFMAttr                    EQU        'cfrg'                ; returns information about the Code Fragment Manager 
  241. gestaltCFMPresent                EQU        0                    ; true if the Code Fragment Manager is present 
  242.  
  243. gestaltCollectionMgrVersion        EQU        'cltn'                ; Collection Manager version 
  244.  
  245. gestaltColorMatchingAttr        EQU        'cmta'                ; ColorSync attributes 
  246. gestaltHighLevelMatching        EQU        0
  247. gestaltColorMatchingLibLoaded    EQU        1
  248.  
  249. gestaltColorMatchingVersion        EQU        'cmtc'
  250. gestaltColorSync10                EQU        $0100                ; 0x0100 & 0x0110 _Gestalt versions for 1.0-1.0.3 product 
  251. gestaltColorSync11                EQU        $0110                ;   0x0100 == low-level matching only 
  252. gestaltColorSync104                EQU        $0104                ; Real version, by popular demand 
  253. gestaltColorSync105                EQU        $0105
  254. gestaltColorSync20                EQU        $0200                ; ColorSync 2.0 
  255.  
  256. gestaltConnMgrAttr                EQU        'conn'                ; connection mgr attributes    
  257. gestaltConnMgrPresent            EQU        0
  258. gestaltConnMgrCMSearchFix        EQU        1                    ; Fix to CMAddSearch?     
  259. gestaltConnMgrErrorString        EQU        2                    ; has CMGetErrorString() 
  260. gestaltConnMgrMultiAsyncIO        EQU        3                    ; CMNewIOPB, CMDisposeIOPB, CMPBRead, CMPBWrite, CMPBIOKill 
  261.  
  262. gestaltComponentMgr                EQU        'cpnt'                ; Component Mgr version 
  263.  
  264. gestaltColorPickerVersion        EQU        'cpkr'                ; returns version of ColorPicker 
  265. gestaltColorPicker                EQU        'cpkr'                ; gestaltColorPicker is old name for gestaltColorPickerVersion 
  266. ;
  267. ;    The gestaltNativeCPUtype ('cput') selector can be used to determine the
  268. ;    native CPU type for all Macs running System 7.5 or later.
  269. ;    
  270. ;    The 'cput' selector is not available when running System 7.0 (or earlier)
  271. ;    on most 68K machines.  If 'cput' is not available, then the 'proc' selector
  272. ;    should be used to determine the processor type.
  273. ;    
  274. ;    An application should always try the 'cput' selector first.  This is because,
  275. ;    on PowerPC machines, the 'proc' selector will reflect the CPU type of the
  276. ;    emulator's "virtual processor" rather than the native CPU type.
  277. ;    
  278. ;    The values specified below are accurate.  Prior versions of the Gestalt
  279. ;    interface file contained values that were off by one.
  280. ;    
  281. ;    The Quadra 840AV and the Quadra 660AV contain a bug in the ROM code that
  282. ;    causes the 'cput' selector to respond with the value 5.  This behavior
  283. ;    occurs only when running System 7.1.  System 7.5 fixes the bug by replacing
  284. ;    the faulty 'cput' selector function with the correct one.
  285. ;
  286.  
  287. gestaltNativeCPUtype            EQU        'cput'                ; Native CPU type                                       
  288. gestaltCPU68000                    EQU        0                    ; Various 68k CPUs...     
  289. gestaltCPU68010                    EQU        1
  290. gestaltCPU68020                    EQU        2
  291. gestaltCPU68030                    EQU        3
  292. gestaltCPU68040                    EQU        4
  293. gestaltCPU601                    EQU        $0101                ; IBM 601                                                 
  294. gestaltCPU603                    EQU        $0103
  295. gestaltCPU604                    EQU        $0104
  296. gestaltCPU603e                    EQU        $0106
  297.  
  298. gestaltCRMAttr                    EQU        'crm '                ; comm resource mgr attributes 
  299. gestaltCRMPresent                EQU        0
  300. gestaltCRMPersistentFix            EQU        1                    ; fix for persistent tools 
  301. gestaltCRMToolRsrcCalls            EQU        2                    ; has CRMGetToolResource/ReleaseToolResource 
  302.  
  303. gestaltControlStripVersion        EQU        'csvr'                ; Control Strip version (was 'sdvr') 
  304.  
  305. gestaltCTBVersion                EQU        'ctbv'                ; CommToolbox version 
  306.  
  307. gestaltDBAccessMgrAttr            EQU        'dbac'                ; Database Access Mgr attributes 
  308. gestaltDBAccessMgrPresent        EQU        0                    ; True if Database Access Mgr present 
  309.  
  310. gestaltDictionaryMgrAttr        EQU        'dict'                ; Dictionary Manager attributes 
  311. gestaltDictionaryMgrPresent        EQU        0                    ; Dictionary Manager attributes 
  312.  
  313. gestaltDITLExtAttr                EQU        'ditl'                ; AppenDITL, etc. calls from CTB 
  314. gestaltDITLExtPresent            EQU        0                    ; True if calls are present 
  315.  
  316. gestaltDisplayMgrAttr            EQU        'dply'                ; Display Manager attributes 
  317. gestaltDisplayMgrPresent        EQU        0                    ; True if Display Mgr is present 
  318. gestaltDisplayMgrCanSwitchMirrored EQU    2                    ; True if Display Mgr can switch modes on mirrored displays 
  319. gestaltDisplayMgrSetDepthNotifies EQU    3                    ; True SetDepth generates displays mgr notification 
  320.  
  321. gestaltDisplayMgrVers            EQU        'dplv'                ; Display Manager version 
  322.  
  323. gestaltDragMgrAttr                EQU        'drag'                ; Drag Manager attributes 
  324. gestaltDragMgrPresent            EQU        0                    ; Drag Manager is present 
  325. gestaltDragMgrFloatingWind        EQU        1                    ; Drag Manager supports floating windows 
  326. gestaltPPCDragLibPresent        EQU        2                    ; Drag Manager PPC DragLib is present 
  327. gestaltDragMgrHasImageSupport    EQU        3                    ; Drag Manager allows SetDragImage call 
  328.  
  329. gestaltEasyAccessAttr            EQU        'easy'                ; Easy Access attributes 
  330. gestaltEasyAccessOff            EQU        0                    ; if Easy Access present, but off (no icon) 
  331. gestaltEasyAccessOn                EQU        1                    ; if Easy Access "On" 
  332. gestaltEasyAccessSticky            EQU        2                    ; if Easy Access "Sticky" 
  333. gestaltEasyAccessLocked            EQU        3                    ; if Easy Access "Locked" 
  334.  
  335. gestaltEditionMgrAttr            EQU        'edtn'                ; Edition Mgr attributes 
  336. gestaltEditionMgrPresent        EQU        0                    ; True if Edition Mgr present 
  337. gestaltEditionMgrTranslationAware EQU    1                    ; True if edition manager is translation manager aware 
  338.  
  339. gestaltAppleEventsAttr            EQU        'evnt'                ; Apple Events attributes 
  340. gestaltAppleEventsPresent        EQU        0                    ; True if Apple Events present 
  341. gestaltScriptingSupport            EQU        1
  342. gestaltOSLInSystem                EQU        2                    ; OSL is in system so don't use the one linked in to app 
  343.  
  344. gestaltFinderAttr                EQU        'fndr'                ; Finder attributes 
  345. gestaltFinderDropEvent            EQU        0                    ; Finder recognizes drop event 
  346. gestaltFinderMagicPlacement        EQU        1                    ; Finder supports magic icon placement 
  347. gestaltFinderCallsAEProcess        EQU        2                    ; Finder calls AEProcessAppleEvent 
  348. gestaltOSLCompliantFinder        EQU        3                    ; Finder is scriptable and recordable 
  349. gestaltFinderSupports4GBVolumes    EQU        4                    ; Finder correctly handles 4GB volumes 
  350. gestaltFinderHasClippings        EQU        6                    ; Finder supports Drag Manager clipping files 
  351.  
  352. gestaltFindFolderAttr            EQU        'fold'                ; Folder Mgr attributes 
  353. gestaltFindFolderPresent        EQU        0                    ; True if Folder Mgr present 
  354.  
  355. gestaltFontMgrAttr                EQU        'font'                ; Font Mgr attributes 
  356. gestaltOutlineFonts                EQU        0                    ; True if Outline Fonts supported 
  357.  
  358. gestaltFPUType                    EQU        'fpu '                ; fpu type 
  359. gestaltNoFPU                    EQU        0                    ; no FPU 
  360. gestalt68881                    EQU        1                    ; 68881 FPU 
  361. gestalt68882                    EQU        2                    ; 68882 FPU 
  362. gestalt68040FPU                    EQU        3                    ; 68040 built-in FPU 
  363.  
  364. gestaltFSAttr                    EQU        'fs  '                ; file system attributes 
  365. gestaltFullExtFSDispatching        EQU        0                    ; has really cool new HFSDispatch dispatcher 
  366. gestaltHasFSSpecCalls            EQU        1                    ; has FSSpec calls 
  367. gestaltHasFileSystemManager        EQU        2                    ; has a file system manager 
  368. gestaltFSMDoesDynamicLoad        EQU        3                    ; file system manager supports dynamic loading 
  369. gestaltFSSupports4GBVols        EQU        4                    ; file system supports 4 gigabyte volumes 
  370. gestaltFSSupports2TBVols        EQU        5                    ; file system supports 2 terabyte volumes 
  371. gestaltHasExtendedDiskInit        EQU        6                    ; has extended Disk Initialization calls 
  372.     IF ¨ OLDROUTINELOCATIONS THEN
  373.  
  374. gestaltFSMVersion                EQU        'fsm '
  375.     ENDIF
  376.  
  377. gestaltFXfrMgrAttr                EQU        'fxfr'                ; file transfer manager attributes 
  378. gestaltFXfrMgrPresent            EQU        0
  379. gestaltFXfrMgrMultiFile            EQU        1                    ; supports FTSend and FTReceive 
  380. gestaltFXfrMgrErrorString        EQU        2                    ; supports FTGetErrorString 
  381. gestaltFXfrMgrAsync                EQU        3                    ;supports FTSendAsync, FTReceiveAsync, FTCompletionAsync
  382.  
  383. gestaltGraphicsAttr                EQU        'gfxa'                ; Quickdraw GX attributes selector 
  384. gestaltGraphicsIsDebugging        EQU        $00000001
  385. gestaltGraphicsIsLoaded            EQU        $00000002
  386. gestaltGraphicsIsPowerPC        EQU        $00000004
  387.  
  388. gestaltGraphicsVersion            EQU        'grfx'                ; Quickdraw GX version selector 
  389. gestaltCurrentGraphicsVersion    EQU        $00010200            ; the version described in this set of headers 
  390.  
  391. gestaltHardwareAttr                EQU        'hdwr'                ; hardware attributes 
  392. gestaltHasVIA1                    EQU        0                    ; VIA1 exists 
  393. gestaltHasVIA2                    EQU        1                    ; VIA2 exists 
  394. gestaltHasASC                    EQU        3                    ; Apple Sound Chip exists 
  395. gestaltHasSCC                    EQU        4                    ; SCC exists 
  396. gestaltHasSCSI                    EQU        7                    ; SCSI exists 
  397. gestaltHasSoftPowerOff            EQU        19                    ; Capable of software power off 
  398. gestaltHasSCSI961                EQU        21                    ; 53C96 SCSI controller on internal bus 
  399. gestaltHasSCSI962                EQU        22                    ; 53C96 SCSI controller on external bus 
  400. gestaltHasUniversalROM            EQU        24                    ; Do we have a Universal ROM? 
  401. gestaltHasEnhancedLtalk            EQU        30                    ; Do we have Enhanced LocalTalk? 
  402.  
  403. gestaltHelpMgrAttr                EQU        'help'                ; Help Mgr Attributes 
  404. gestaltHelpMgrPresent            EQU        0                    ; true if help mgr is present 
  405. gestaltHelpMgrExtensions        EQU        1                    ; true if help mgr extensions are installed 
  406. gestaltAppleGuideIsDebug        EQU        30
  407. gestaltAppleGuidePresent        EQU        31                    ; true if AppleGuide is installed 
  408.  
  409. gestaltHardwareVendorCode        EQU        'hrad'                ; Returns hardware vendor information 
  410. gestaltHardwareVendorApple        EQU        'Appl'                ; Hardware built by Apple 
  411.  
  412. gestaltCompressionMgr            EQU        'icmp'                ; returns version of the Image Compression Manager 
  413.  
  414. gestaltIconUtilitiesAttr        EQU        'icon'                ; Icon Utilities attributes  (Note: available in System 7.0, despite gestalt) 
  415. gestaltIconUtilitiesPresent        EQU        0                    ; true if icon utilities are present 
  416. ;
  417. ;    To obtain information about the connected keyboard(s), one should
  418. ;    use the ADB Manager API.  See Technical Note OV16 for details.
  419. ;
  420.  
  421. gestaltKeyboardType                EQU        'kbd '                ; keyboard type 
  422. gestaltMacKbd                    EQU        1
  423. gestaltMacAndPad                EQU        2
  424. gestaltMacPlusKbd                EQU        3
  425. gestaltExtADBKbd                EQU        4
  426. gestaltStdADBKbd                EQU        5
  427. gestaltPrtblADBKbd                EQU        6
  428. gestaltPrtblISOKbd                EQU        7
  429. gestaltStdISOADBKbd                EQU        8
  430. gestaltExtISOADBKbd                EQU        9
  431. gestaltADBKbdII                    EQU        10
  432. gestaltADBISOKbdII                EQU        11
  433. gestaltPwrBookADBKbd            EQU        12
  434. gestaltPwrBookISOADBKbd            EQU        13
  435. gestaltAppleAdjustKeypad        EQU        14
  436. gestaltAppleAdjustADBKbd        EQU        15
  437. gestaltAppleAdjustISOKbd        EQU        16
  438. gestaltJapanAdjustADBKbd        EQU        17                    ; Japan Adjustable Keyboard 
  439. gestaltPwrBkExtISOKbd            EQU        20                    ; PowerBook Extended International Keyboard with function keys 
  440. gestaltPwrBkExtJISKbd            EQU        21                    ; PowerBook Extended Japanese Keyboard with function keys         
  441. gestaltPwrBkExtADBKbd            EQU        24                    ; PowerBook Extended Domestic Keyboard with function keys         
  442.  
  443. gestaltLowMemorySize            EQU        'lmem'                ; size of low memory area 
  444.  
  445. gestaltLogicalRAMSize            EQU        'lram'                ; logical ram size 
  446. ;
  447. ;    MACHINE TYPE CONSTANTS NAMING CONVENTION
  448. ;    
  449. ;        All future machine type constant names take the following form:
  450. ;    
  451. ;            gestalt<lineName><modelNumber>
  452. ;            
  453. ;    Line Names
  454. ;    
  455. ;        The following table contains the lines currently produced by Apple and the 
  456. ;        lineName substrings associated with them:
  457. ;    
  458. ;            Line                        lineName
  459. ;            -------------------------    ------------
  460. ;            Macintosh LC                "MacLC"
  461. ;            Macintosh Performa            "Performa"
  462. ;            Macintosh PowerBook            "PowerBook"
  463. ;            Macintosh PowerBook Duo        "PowerBookDuo"
  464. ;            Power Macintosh                "PowerMac"
  465. ;            Apple Workgroup Server        "AWS"
  466. ;        
  467. ;        The following table contains lineNames for some discontinued lines:
  468. ;    
  469. ;            Line                        lineName
  470. ;            -------------------------    ------------
  471. ;            Macintosh Quadra            "MacQuadra" (preferred)
  472. ;                                        "Quadra" (also used, but not preferred)
  473. ;            Macintosh Centris            "MacCentris"
  474. ;    
  475. ;    Model Numbers
  476. ;    
  477. ;        The modelNumber is a string representing the specific model of the machine
  478. ;        within its particular line.  For example, for the Power Macintosh 8100/80,
  479. ;        the modelNumber is "8100".
  480. ;        
  481. ;        Some Performa & LC model numbers contain variations in the rightmost 1 or 2
  482. ;        digits to indicate different RAM and Hard Disk configurations.  A single
  483. ;        machine type is assigned for all variations of a specific model number.  In
  484. ;        this case, the modelNumber string consists of the constant leftmost part
  485. ;        of the model number with 0s for the variant digits.  For example, the
  486. ;        Performa 6115 and Performa 6116 are both return the same machine type
  487. ;        constant:  gestaltPerforma6100.    
  488. ;        
  489. ;        
  490. ;    OLD NAMING CONVENTIONS
  491. ;        
  492. ;    The "Underscore Speed" suffix
  493. ;        
  494. ;        In the past, Apple differentiated between machines that had the same model
  495. ;        number but different speeds.  For example, the Power Macintosh 8100/80 and
  496. ;        Power Macintosh 8100/100 return different machine type constants.  This is
  497. ;        why some existing machine type constant names take the form:
  498. ;    
  499. ;            gestalt<lineName><modelNumber>_<speed>
  500. ;    
  501. ;        e.g.
  502. ;    
  503. ;            gestaltPowerMac8100_110
  504. ;            gestaltPowerMac7100_80
  505. ;            gestaltPowerMac7100_66
  506. ;    
  507. ;        It is no longer necessary to use the "underscore speed" suffix.  Starting with
  508. ;        the Power Surge machines (Power Macintosh 7200, 7500, 8500 and 9500), speed is
  509. ;        no longer used to differentiate between machine types.  This is why a Power
  510. ;        Macintosh 7200/75 and a Power Macintosh 7200/90 return the same machine type
  511. ;        constant:  gestaltPowerMac7200.
  512. ;        
  513. ;    The "Screen Type" suffix
  514. ;        
  515. ;        All PowerBook models prior to the PowerBook 190, and all PowerBook Duo models
  516. ;        before the PowerBook Duo 2300 take the form:
  517. ;        
  518. ;            gestalt<lineName><modelNumber><screenType>
  519. ;        
  520. ;        Where <screenType> is "c" or the empty string.
  521. ;        
  522. ;        e.g.
  523. ;        
  524. ;            gestaltPowerBook100
  525. ;            gestaltPowerBookDuo280
  526. ;            gestaltPowerBookDuo280c
  527. ;            gestaltPowerBook180
  528. ;            gestaltPowerBook180c
  529. ;        
  530. ;        Starting with the PowerBook 190 series and the PowerBook Duo 2300 series, machine
  531. ;        types are no longer differentiated based on screen type.  This is why a PowerBook
  532. ;        5300cs/100 and a PowerBook 5300c/100 both return the same machine type constant:
  533. ;        gestaltPowerBook5300.
  534. ;    
  535. ;        Macintosh LC 630                gestaltMacLC630
  536. ;        Macintosh Performa 6200            gestaltPerforma6200
  537. ;        Macintosh Quadra 700            gestaltQuadra700
  538. ;        Macintosh PowerBook 5300        gestaltPowerBook5300
  539. ;        Macintosh PowerBook Duo 2300    gestaltPowerBookDuo2300
  540. ;        Power Macintosh 8500            gestaltPowerMac8500
  541. ;
  542.  
  543. gestaltMachineType                EQU        'mach'                ; machine type 
  544. gestaltClassic                    EQU        1
  545. gestaltMacXL                    EQU        2
  546. gestaltMac512KE                    EQU        3
  547. gestaltMacPlus                    EQU        4
  548. gestaltMacSE                    EQU        5
  549. gestaltMacII                    EQU        6
  550. gestaltMacIIx                    EQU        7
  551. gestaltMacIIcx                    EQU        8
  552. gestaltMacSE030                    EQU        9
  553. gestaltPortable                    EQU        10
  554. gestaltMacIIci                    EQU        11
  555. gestaltMacIIfx                    EQU        13
  556. gestaltMacClassic                EQU        17
  557. gestaltMacIIsi                    EQU        18
  558. gestaltMacLC                    EQU        19
  559. gestaltQuadra900                EQU        20
  560. gestaltPowerBook170                EQU        21
  561. gestaltQuadra700                EQU        22
  562. gestaltClassicII                EQU        23
  563. gestaltPowerBook100                EQU        24
  564. gestaltPowerBook140                EQU        25
  565. gestaltQuadra950                EQU        26
  566. gestaltMacLCIII                    EQU        27
  567. gestaltPerforma450                EQU        27
  568. gestaltPowerBookDuo210            EQU        29
  569. gestaltMacCentris650            EQU        30
  570. gestaltPowerBookDuo230            EQU        32
  571. gestaltPowerBook180                EQU        33
  572. gestaltPowerBook160                EQU        34
  573. gestaltMacQuadra800                EQU        35
  574. gestaltMacQuadra650                EQU        36
  575. gestaltMacLCII                    EQU        37
  576. gestaltPowerBookDuo250            EQU        38
  577. gestaltAWS9150_80                EQU        39
  578. gestaltPowerMac8100_110            EQU        40
  579. gestaltAWS8150_110                EQU        40
  580. gestaltPowerMac5200                EQU        41
  581. gestaltPowerMac6200                EQU        42
  582. gestaltMacIIvi                    EQU        44
  583. gestaltMacIIvm                    EQU        45
  584. gestaltPerforma600                EQU        45
  585. gestaltPowerMac7100_80            EQU        47
  586. gestaltMacIIvx                    EQU        48
  587. gestaltMacColorClassic            EQU        49
  588. gestaltPerforma250                EQU        49
  589. gestaltPowerBook165c            EQU        50
  590. gestaltMacCentris610            EQU        52
  591. gestaltMacQuadra610                EQU        53
  592. gestaltPowerBook145                EQU        54
  593. gestaltPowerMac8100_100            EQU        55
  594. gestaltMacLC520                    EQU        56
  595. gestaltAWS9150_120                EQU        57
  596. gestaltMacCentris660AV            EQU        60
  597. gestaltPerforma46x                EQU        62
  598. gestaltPowerMac8100_80            EQU        65
  599. gestaltAWS8150_80                EQU        65
  600. gestaltPowerMac9500                EQU        67
  601. gestaltPowerMac7500                EQU        68
  602. gestaltPowerMac8500                EQU        69
  603. gestaltPowerBook180c            EQU        71
  604. gestaltPowerBook520                EQU        72
  605. gestaltPowerBook520c            EQU        72
  606. gestaltPowerBook540                EQU        72
  607. gestaltPowerBook540c            EQU        72
  608. gestaltPowerMac6100_60            EQU        75
  609. gestaltAWS6150_60                EQU        75
  610. gestaltPowerBookDuo270c            EQU        77
  611. gestaltMacQuadra840AV            EQU        78
  612. gestaltPerforma550                EQU        80
  613. gestaltPowerBook165                EQU        84
  614. gestaltPowerBook190                EQU        85
  615. gestaltMacTV                    EQU        88
  616. gestaltMacLC475                    EQU        89
  617. gestaltPerforma47x                EQU        89
  618. gestaltMacLC575                    EQU        92
  619. gestaltMacQuadra605                EQU        94
  620. gestaltQuadra630                EQU        98
  621. gestaltPowerMac6100_66            EQU        100
  622. gestaltAWS6150_66                EQU        100
  623. gestaltPowerBookDuo280            EQU        102
  624. gestaltPowerBookDuo280c            EQU        103
  625. gestaltPowerMac7200                EQU        108
  626. gestaltPowerMac7100_66            EQU        112                    ; Power Macintosh 7100/66 
  627. gestaltPowerBook150                EQU        115
  628. gestaltPowerBookDuo2300            EQU        124
  629. gestaltPowerBook500PPCUpgrade    EQU        126
  630. gestaltPowerBook5300            EQU        128
  631.  
  632. kMachineNameStrID                EQU        -16395
  633.  
  634. gestaltMachineIcon                EQU        'micn'                ; machine icon 
  635.  
  636. gestaltMiscAttr                    EQU        'misc'                ; miscellaneous attributes 
  637. gestaltScrollingThrottle        EQU        0                    ; true if scrolling throttle on 
  638. gestaltSquareMenuBar            EQU        2                    ; true if menu bar is square 
  639. ;
  640. ;    The name gestaltMixedModeVersion for the 'mixd' selector is semantically incorrect.
  641. ;    The same selector has been renamed gestaltMixedModeAttr to properly reflect the
  642. ;    Inside Mac: PowerPC System Software documentation.  The gestaltMixedModeVersion
  643. ;    symbol has been preserved only for backwards compatibility.
  644. ;
  645. ;    Developers are forewarned that gestaltMixedModeVersion has a limited lifespan and
  646. ;    will be removed in a future release of the Interfaces.
  647. ;
  648. ;    For the first version of Mixed Mode, both meanings of the 'mixd' selector are
  649. ;    functionally identical.  They both return 0x00000001.  In subsequent versions
  650. ;    of Mixed Mode, however, the 'mixd' selector will not respond with an increasing
  651. ;    version number, but rather, with 32 attribute bits with various meanings.
  652. ;
  653.  
  654. gestaltMixedModeVersion            EQU        'mixd'                ; returns version of Mixed Mode 
  655.  
  656. gestaltMixedModeAttr            EQU        'mixd'                ; returns Mixed Mode attributes 
  657. gestaltMixedModePowerPC            EQU        0                    ; true if Mixed Mode supports PowerPC ABI calling conventions 
  658. gestaltPowerPCAware                EQU        0                    ; old name for gestaltMixedModePowerPC 
  659. gestaltMixedModeCFM68K            EQU        1                    ; true if Mixed Mode supports CFM-68K calling conventions 
  660. gestaltMixedModeCFM68KHasTrap    EQU        2                    ; true if CFM-68K Mixed Mode implements _MixedModeDispatch (versions 1.0.1 and prior did not) 
  661.  
  662. gestaltMMUType                    EQU        'mmu '                ; mmu type 
  663. gestaltNoMMU                    EQU        0                    ; no MMU 
  664. gestaltAMU                        EQU        1                    ; address management unit 
  665. gestalt68851                    EQU        2                    ; 68851 PMMU 
  666. gestalt68030MMU                    EQU        3                    ; 68030 built-in MMU 
  667. gestalt68040MMU                    EQU        4                    ; 68040 built-in MMU 
  668. gestaltEMMU1                    EQU        5                    ; Emulated MMU type 1  
  669.  
  670. gestaltStdNBPAttr                EQU        'nlup'                ; standard nbp attributes 
  671. gestaltStdNBPPresent            EQU        0
  672. gestaltStdNBPSupportsAutoPosition EQU    1                    ; StandardNBP takes (-1,-1) to mean alert position main screen 
  673.  
  674. gestaltNotificationMgrAttr        EQU        'nmgr'                ; notification manager attributes 
  675. gestaltNotificationPresent        EQU        0                    ; notification manager exists 
  676.  
  677. gestaltNameRegistryVersion        EQU        'nreg'                ; NameRegistryLib version number 
  678.  
  679. gestaltNuBusSlotCount            EQU        'nubs'                ; count of logical NuBus slots present 
  680.  
  681. gestaltOpenFirmwareInfo            EQU        'opfw'                ; Open Firmware info 
  682.  
  683. gestaltOSAttr                    EQU        'os  '                ; o/s attributes 
  684. gestaltSysZoneGrowable            EQU        0                    ; system heap is growable 
  685. gestaltLaunchCanReturn            EQU        1                    ; can return from launch 
  686. gestaltLaunchFullFileSpec        EQU        2                    ; can launch from full file spec 
  687. gestaltLaunchControl            EQU        3                    ; launch control support available 
  688. gestaltTempMemSupport            EQU        4                    ; temp memory support 
  689. gestaltRealTempMemory            EQU        5                    ; temp memory handles are real 
  690. gestaltTempMemTracked            EQU        6                    ; temporary memory handles are tracked 
  691. gestaltIPCSupport                EQU        7                    ; IPC support is present 
  692. gestaltSysDebuggerSupport        EQU        8                    ; system debugger support is present 
  693.  
  694. gestaltOSTable                    EQU        'ostt'                ;  OS trap table base  
  695.  
  696. gestaltProcClkSpeed                EQU        'pclk'                ; processor clock speed in hertz 
  697.  
  698. gestaltPCXAttr                    EQU        'pcxg'                ; PC Exchange attributes 
  699. gestaltPCXHas8and16BitFAT        EQU        0                    ; PC Exchange supports both 8 and 16 bit FATs 
  700. gestaltPCXHasProDOS                EQU        1                    ; PC Exchange supports ProDOS 
  701.  
  702. gestaltLogicalPageSize            EQU        'pgsz'                ; logical page size 
  703.  
  704. gestaltPopupAttr                EQU        'pop!'                ; popup cdef attributes 
  705. gestaltPopupPresent                EQU        0
  706.  
  707. gestaltPowerMgrAttr                EQU        'powr'                ; power manager attributes 
  708. gestaltPMgrExists                EQU        0
  709. gestaltPMgrCPUIdle                EQU        1
  710. gestaltPMgrSCC                    EQU        2
  711. gestaltPMgrSound                EQU        3
  712. gestaltPMgrDispatchExists        EQU        4
  713. ;
  714. ; * PPC will return the combination of following bit fields.
  715. ; * e.g. gestaltPPCSupportsRealTime +gestaltPPCSupportsIncoming + gestaltPPCSupportsOutGoing
  716. ; * indicates PPC is cuurently is only supports real time delivery
  717. ; * and both incoming and outgoing network sessions are allowed.
  718. ; * By default local real time delivery is supported as long as PPCInit has been called.
  719. ;
  720.  
  721. gestaltPPCToolboxAttr            EQU        'ppc '                ; PPC toolbox attributes 
  722. gestaltPPCToolboxPresent        EQU        $0000                ; PPC Toolbox is present  Requires PPCInit to be called 
  723. gestaltPPCSupportsRealTime        EQU        $1000                ; PPC Supports real-time delivery 
  724. gestaltPPCSupportsIncoming        EQU        $0001                ; PPC will deny incoming network requests 
  725. gestaltPPCSupportsOutGoing        EQU        $0002                ; PPC will deny outgoing network requests 
  726.  
  727. gestaltProcessorType            EQU        'proc'                ; processor type 
  728. gestalt68000                    EQU        1
  729. gestalt68010                    EQU        2
  730. gestalt68020                    EQU        3
  731. gestalt68030                    EQU        4
  732. gestalt68040                    EQU        5
  733.  
  734. gestaltParityAttr                EQU        'prty'                ; parity attributes 
  735. gestaltHasParityCapability        EQU        0                    ; has ability to check parity 
  736. gestaltParityEnabled            EQU        1                    ; parity checking enabled 
  737.  
  738. gestaltQuickdrawVersion            EQU        'qd  '                ; quickdraw version 
  739. gestaltOriginalQD                EQU        $0000                ; original 1-bit QD 
  740. gestalt8BitQD                    EQU        $0100                ; 8-bit color QD 
  741. gestalt32BitQD                    EQU        $0200                ; 32-bit color QD 
  742. gestalt32BitQD11                EQU        $0201                ; 32-bit color QDv1.1 
  743. gestalt32BitQD12                EQU        $0220                ; 32-bit color QDv1.2 
  744. gestalt32BitQD13                EQU        $0230                ; 32-bit color QDv1.3 
  745.  
  746. gestaltQuickdrawFeatures        EQU        'qdrw'                ; quickdraw features 
  747. gestaltHasColor                    EQU        0                    ; color quickdraw present 
  748. gestaltHasDeepGWorlds            EQU        1                    ; GWorlds can be deeper than 1-bit 
  749. gestaltHasDirectPixMaps            EQU        2                    ; PixMaps can be direct (16 or 32 bit) 
  750. gestaltHasGrayishTextOr            EQU        3                    ; supports text mode grayishTextOr 
  751. gestaltSupportsMirroring        EQU        4                    ; Supports video mirroring via the Display Manager. 
  752.  
  753. gestaltQuickTimeVersion            EQU        'qtim'                ; returns version of QuickTime 
  754. gestaltQuickTime                EQU        'qtim'                ; gestaltQuickTime is old name for gestaltQuickTimeVersion 
  755.  
  756. gestaltQuickTimeConferencingInfo EQU    'qtci'                ; returns pointer to QuickTime Conferencing information 
  757.  
  758. gestaltQuickTimeConferencing    EQU        'mtlk'                ; returns QuickTime Conferencing version 
  759.  
  760. gestaltQuickTimeFeatures        EQU        'qtrs'
  761. gestaltPPCQuickTimeLibPresent    EQU        0                    ; PowerPC QuickTime glue library is present 
  762.  
  763. gestaltPhysicalRAMSize            EQU        'ram '                ; physical RAM size 
  764.  
  765. gestaltRBVAddr                    EQU        'rbv '                ; RBV base address  
  766.  
  767. gestaltROMSize                    EQU        'rom '                ; rom size 
  768.  
  769. gestaltROMVersion                EQU        'romv'                ; rom version 
  770.  
  771. gestaltResourceMgrAttr            EQU        'rsrc'                ; Resource Mgr attributes 
  772. gestaltPartialRsrcs                EQU        0                    ; True if partial resources exist 
  773.  
  774. gestaltRealtimeMgrAttr            EQU        'rtmr'                ; Realtime manager attributes            
  775. gestaltRealtimeMgrPresent        EQU        0                    ; true if the Realtime manager is present     
  776.  
  777. gestaltSCCReadAddr                EQU        'sccr'                ; scc read base address  
  778.  
  779. gestaltSCCWriteAddr                EQU        'sccw'                ; scc read base address  
  780.  
  781. gestaltScrapMgrAttr                EQU        'scra'                ; Scrap Manager attributes 
  782. gestaltScrapMgrTranslationAware    EQU        0                    ; True if scrap manager is translation aware 
  783.  
  784. gestaltScriptMgrVersion            EQU        'scri'                ; Script Manager version number     
  785.  
  786. gestaltScriptCount                EQU        'scr#'                ; number of active script systems   
  787.  
  788. gestaltSCSI                        EQU        'scsi'                ; SCSI Manager attributes 
  789. gestaltAsyncSCSI                EQU        0                    ; Supports Asynchronous SCSI 
  790. gestaltAsyncSCSIINROM            EQU        1                    ; Async scsi is in ROM (available for booting) 
  791. gestaltSCSISlotBoot                EQU        2                    ; ROM supports Slot-style PRAM for SCSI boots (PDM and later) 
  792.  
  793. gestaltControlStripAttr            EQU        'sdev'                ; Control Strip attributes 
  794. gestaltControlStripExists        EQU        0                    ; Control Strip is installed 
  795. gestaltControlStripVersionFixed    EQU        1                    ; Control Strip version Gestalt selector was fixed 
  796. gestaltControlStripUserFont        EQU        2                    ; supports user-selectable font/size 
  797. gestaltControlStripUserHotKey    EQU        3                    ; support user-selectable hot key to show/hide the window 
  798.  
  799. gestaltSerialAttr                EQU        'ser '                ; Serial attributes 
  800. gestaltHasGPIaToDCDa            EQU        0                    ; GPIa connected to DCDa
  801. gestaltHasGPIaToRTxCa            EQU        1                    ; GPIa connected to RTxCa clock input
  802. gestaltHasGPIbToDCDb            EQU        2                    ; GPIb connected to DCDb 
  803.  
  804. gestaltNuBusConnectors            EQU        'sltc'                ; bitmap of NuBus connectors
  805.  
  806. gestaltSlotAttr                    EQU        'slot'                ; slot attributes  
  807. gestaltSlotMgrExists            EQU        0                    ; true is slot mgr exists  
  808. gestaltNuBusPresent                EQU        1                    ; NuBus slots are present  
  809. gestaltSESlotPresent            EQU        2                    ; SE PDS slot present  
  810. gestaltSE30SlotPresent            EQU        3                    ; SE/30 slot present  
  811. gestaltPortableSlotPresent        EQU        4                    ; Portable's slot present  
  812.  
  813. gestaltFirstSlotNumber            EQU        'slt1'                ; returns first physical slot 
  814.  
  815. gestaltSoundAttr                EQU        'snd '                ; sound attributes 
  816. gestaltStereoCapability            EQU        0                    ; sound hardware has stereo capability 
  817. gestaltStereoMixing                EQU        1                    ; stereo mixing on external speaker 
  818. gestaltSoundIOMgrPresent        EQU        3                    ; The Sound I/O Manager is present 
  819. gestaltBuiltInSoundInput        EQU        4                    ; built-in Sound Input hardware is present 
  820. gestaltHasSoundInputDevice        EQU        5                    ; Sound Input device available 
  821. gestaltPlayAndRecord            EQU        6                    ; built-in hardware can play and record simultaneously 
  822. gestalt16BitSoundIO                EQU        7                    ; sound hardware can play and record 16-bit samples 
  823. gestaltStereoInput                EQU        8                    ; sound hardware can record stereo 
  824. gestaltLineLevelInput            EQU        9                    ; sound input port requires line level 
  825.                                                             ; the following bits are not defined prior to Sound Mgr 3.0 
  826. gestaltSndPlayDoubleBuffer        EQU        10                    ; SndPlayDoubleBuffer available, set by Sound Mgr 3.0 and later 
  827. gestaltMultiChannels            EQU        11                    ; multiple channel support, set by Sound Mgr 3.0 and later 
  828. gestalt16BitAudioSupport        EQU        12                    ; 16 bit audio data supported, set by Sound Mgr 3.0 and later 
  829.  
  830. gestaltSoftwareVendorCode        EQU        'srad'                ; Returns system software vendor information 
  831. gestaltSoftwareVendorApple        EQU        'Appl'                ; System software sold by Apple 
  832. gestaltSoftwareVendorLicensee    EQU        'Lcns'                ; System software sold by licensee 
  833.  
  834. gestaltStandardFileAttr            EQU        'stdf'                ; Standard File attributes 
  835. gestaltStandardFile58            EQU        0                    ; True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported 
  836. gestaltStandardFileTranslationAware EQU    1                    ; True if standard file is translation manager aware 
  837. gestaltStandardFileHasColorIcons EQU    2                    ; True if standard file has 16x16 color icons 
  838. gestaltStandardFileUseGenericIcons EQU    3                    ; Standard file LDEF to use only the system generic icons if true 
  839. gestaltStandardFileHasDynamicVolumeAllocation EQU 4            ; True if standard file supports more than 20 volumes 
  840.  
  841. gestaltSysArchitecture            EQU        'sysa'                ; Native System Architecture 
  842. gestalt68k                        EQU        1                    ; Motorola MC68k architecture 
  843. gestaltPowerPC                    EQU        2                    ; IBM PowerPC architecture 
  844.  
  845. gestaltSystemUpdateVersion        EQU        'sysu'                ; System Update version 
  846.  
  847. gestaltSystemVersion            EQU        'sysv'                ; system version
  848.  
  849. gestaltTSMgrVersion                EQU        'tsmv'                ; Text Services Mgr version, if present 
  850. gestaltTSMgr2                    EQU        $0200
  851.  
  852. gestaltTSMgrAttr                EQU        'tsma'                ; Text Services Mgr attributes, if present 
  853. gestaltTSMDisplayMgrAwareBit    EQU        0                    ; TSM knows about display manager 
  854. gestaltTSMdoesTSMTEBit            EQU        1                    ; TSM has integrated TSMTE 
  855.  
  856. gestaltTSMTEVersion                EQU        'tmTV'
  857. gestaltTSMTE1                    EQU        $0100
  858. gestaltTSMTE2                    EQU        $0200
  859.  
  860. gestaltTSMTEAttr                EQU        'tmTE'
  861. gestaltTSMTEPresent                EQU        0
  862. gestaltTSMTE                    EQU        0                    ; gestaltTSMTE is old name for gestaltTSMTEPresent 
  863.  
  864. gestaltTextEditVersion            EQU        'te  '                ; TextEdit version number 
  865. gestaltTE1                        EQU        1                    ; TextEdit in MacIIci ROM 
  866. gestaltTE2                        EQU        2                    ; TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) 
  867. gestaltTE3                        EQU        3                    ; TextEdit with 6.0.4 Script Systems all but MacIIci 
  868. gestaltTE4                        EQU        4                    ; TextEdit in System 7.0 
  869. gestaltTE5                        EQU        5                    ; TextWidthHook available in TextEdit 
  870. gestaltTE6                        EQU        6                    ; TextEdit in System 8.0 
  871.  
  872. gestaltTEAttr                    EQU        'teat'                ; TextEdit attributes 
  873. gestaltTEHasGetHiliteRgn        EQU        0                    ; TextEdit has TEGetHiliteRgn 
  874. gestaltTESupportsInlineInput    EQU        1                    ; TextEdit does Inline Input 
  875. gestaltTESupportsTextObjects    EQU        2                    ; TextEdit does Text Objects 
  876.  
  877. gestaltTeleMgrAttr                EQU        'tele'                ; Telephone manager attributes 
  878. gestaltTeleMgrPresent            EQU        0
  879. gestaltTeleMgrPowerPCSupport    EQU        1
  880. gestaltTeleMgrSoundStreams        EQU        2
  881. gestaltTeleMgrAutoAnswer        EQU        3
  882. gestaltTeleMgrIndHandset        EQU        4
  883. gestaltTeleMgrSilenceDetect        EQU        5
  884. gestaltTeleMgrNewTELNewSupport    EQU        6
  885.  
  886. gestaltTermMgrAttr                EQU        'term'                ; terminal mgr attributes 
  887. gestaltTermMgrPresent            EQU        0
  888. gestaltTermMgrErrorString        EQU        2
  889.  
  890. gestaltTimeMgrVersion            EQU        'tmgr'                ; time mgr version 
  891. gestaltStandardTimeMgr            EQU        1                    ; standard time mgr is present 
  892. gestaltRevisedTimeMgr            EQU        2                    ; revised time mgr is present 
  893. gestaltExtendedTimeMgr            EQU        3                    ; extended time mgr is present 
  894.  
  895. gestaltSpeechAttr                EQU        'ttsc'                ; Speech Manager attributes 
  896. gestaltSpeechMgrPresent            EQU        0                    ; bit set indicates that Speech Manager exists 
  897. gestaltSpeechHasPPCGlue            EQU        1                    ; bit set indicates that native PPC glue for Speech Manager API exists 
  898.  
  899. gestaltToolboxTable                EQU        'tbtt'                ;  OS trap table base  
  900.  
  901. gestaltThreadMgrAttr            EQU        'thds'                ; Thread Manager attributes 
  902. gestaltThreadMgrPresent            EQU        0                    ; bit true if Thread Mgr is present 
  903. gestaltSpecificMatchSupport        EQU        1                    ; bit true if Thread Mgr supports exact match creation option 
  904. gestaltThreadsLibraryPresent    EQU        2                    ; bit true if Thread Mgr shared library is present 
  905.  
  906. gestaltTVAttr                    EQU        'tv  '                ; TV version 
  907. gestaltHasTVTuner                EQU        0                    ; supports Philips FL1236F video tuner 
  908. gestaltHasSoundFader            EQU        1                    ; supports Philips TEA6330 Sound Fader chip 
  909. gestaltHasHWClosedCaptioning    EQU        2                    ; supports Philips SAA5252 Closed Captioning 
  910. gestaltHasIRRemote                EQU        3                    ; supports CyclopsII Infra Red Remote control 
  911. gestaltHasVidDecoderScaler        EQU        4                    ; supports Philips SAA7194 Video Decoder/Scaler 
  912. gestaltHasStereoDecoder            EQU        5                    ; supports Sony SBX1637A-01 stereo decoder 
  913. gestaltHasSerialFader            EQU        6                    ; has fader audio in serial with system audio 
  914. gestaltHasFMTuner                EQU        7                    ; has FM Tuner from donnybrook card 
  915.  
  916. gestaltVersion                    EQU        'vers'                ; gestalt version 
  917. gestaltValueImplementedVers        EQU        5                    ; version of gestalt where gestaltValue is implemented. 
  918.  
  919. gestaltVIA1Addr                    EQU        'via1'                ; via 1 base address  
  920.  
  921. gestaltVIA2Addr                    EQU        'via2'                ; via 2 base address  
  922.  
  923. gestaltVMAttr                    EQU        'vm  '                ; virtual memory attributes 
  924. gestaltVMPresent                EQU        0                    ; true if virtual memory is present 
  925.  
  926. gestaltTranslationAttr            EQU        'xlat'                ; Translation Manager attributes 
  927. gestaltTranslationMgrExists        EQU        0                    ; True if translation manager exists 
  928. gestaltTranslationMgrHintOrder    EQU        1                    ; True if hint order reversal in effect 
  929. gestaltTranslationPPCAvail        EQU        2
  930. gestaltTranslationGetPathAPIAvail EQU    3
  931.  
  932. gestaltExtToolboxTable            EQU        'xttt'                ; Extended Toolbox trap table base 
  933.     ENDIF ; __GESTALT__ 
  934.  
  935.